/*
 * ManifestConstant.java
 *
 * Created on 25 de julio de 2003, 11:54
 */

package moon.core.expression.constant;
import moon.core.classdef.Type;
import moon.core.expression.Expr;

import org.apache.log4j.Logger;

/**
 * Manifest constants.
 * 
 * @author <a href="mailto:rmartico@ubu.es">Ra&uacute;l Marticorena</a>
 *
 */
@SuppressWarnings("serial")
public abstract class ManifestConstant extends Expr {
	
	
	/**
	 * Logger.
	 * 
	 */
	static Logger logger = Logger.getLogger(ManifestConstant.class);
	
    /** 
     * Constant value.
     */    
    public String value;
    
    /** 
     * Constructor.
     * 
     * @param type type
     */
    public ManifestConstant(Type type) {
    	super(type);
    }
    
    /** 
     * Sets the value.
     * 
     * @param pValue new value
     * @see #getValue
     */    
    public void setValue(String pValue){
        this.value = pValue;
    }
    
    /** 
     * Gets the value.
     * 
     * @return value
     * @see #setValue
     */    
    public String getValue(){
        return this.value;
    }
    
    /**
     * {@inheritDoc}.
     * 
     * @return {@inheritDoc}
     */
    @Override
    public boolean isConstant() {
    	return true;
    }
    
    /**
     * {@inheritDoc}.
     * 
     * @return {@inheritDoc}
     */
    @Override
    public boolean isCreation() {
    	return false;
    }

}
